package cn.bugstack.springframework.beans.factory.support;
// 定义实例化策略接口
import cn.bugstack.springframework.beans.BeanException;
import cn.bugstack.springframework.beans.factory.config.BeanDefinition;

import java.lang.reflect.Constructor;
// 在实例化接口 instantiate 方法中添加必要的入参信息，包括：beanDefinition、beanName、ctor、args
// Constructor 类 目的是为了拿到符合入参信息相对应的构造函数
// args 就是一个具体的入参信息，最终实例化时候会用到
public interface InstantiationStrategy {
    Object instantiate(BeanDefinition beanDefinition, String beanName, Constructor ctor, Object[] args) throws BeanException;
}
